package ch.ethz.group3.myalbum.client;

import java.util.Collection;

import ch.ethz.group3.myalbum.shared.AuthorizationModel;
import ch.ethz.group3.myalbum.shared.CommentModel;
import ch.ethz.group3.myalbum.shared.GroupModel;
import ch.ethz.group3.myalbum.shared.ImageModel;
import ch.ethz.group3.myalbum.shared.InvalidFlickrTokenException;
import ch.ethz.group3.myalbum.shared.TokenModel;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("pictures")
public interface PictureService extends RemoteService {
	public Collection<GroupModel> getGroups(String tags, int pageLimit,
			int page, TokenModel token) throws InvalidFlickrTokenException;

	Collection<ImageModel> getAlbum(String groupId, int pageLimit, int page,
			TokenModel token) throws InvalidFlickrTokenException;

	public TokenModel verify(String verifierString, TokenModel token);

	public Collection<CommentModel> getComments(String photoId, TokenModel token)
			throws InvalidFlickrTokenException;

	public AuthorizationModel getAuthorization();
}
